<#include "fileHeaderTemplate.ftl">
package ${config.packageName}${config.entitySubPackage};
<#if config.hasCommonEntity>
import ${config.commonEntityPath};
</#if>

<#include "classHeaderTemplate.ftl">
public class ${table.className}<#if config.hasCommonEntity> extends ${config.commonEntityName}<${table.primaryJavaType}></#if>{
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;

    <#assign basePropertiesList=config.baseProperties?split(",")>
    <#list columnList as column>
    <#if !basePropertiesList?seq_contains(column.columnJavaName)>
    /**
     * ${column.columnComment}
     */
    private ${column.javaType} ${column.columnJavaName};

    </#if>
    </#list>
    <#list columnList as column>
        <#if !basePropertiesList?seq_contains(column.columnJavaName)>
    /**
     * 获取${column.columnComment}
     */
    public ${column.javaType} get${column.columnJavaName?cap_first}(){
    	return this.${column.columnJavaName};
    }
    
    /**
     * 设置${column.columnComment}
     */
    public void set${column.columnJavaName?cap_first}(${column.javaType} ${column.columnJavaName}){
    	this.${column.columnJavaName} = ${column.columnJavaName};
    }
        </#if>
    
    </#list>
    
    @Override
    public String toString()
    {
        return new StringBuilder(super.toString()).append("[")
        <#list columnList as column>
	      .append("${column.columnJavaName}=").append(get${column.columnJavaName?cap_first}())<#if column_has_next>.append(", ")</#if>
	    </#list>
	      .append("]").toString();
    }
}